module global_param
  use param
  use derived,only:PointType,ExternalEvent
  implicit none

  ! number of point defect type
  integer :: n_point_type
  ! elemetary point defect
  type(PointType),pointer,dimension(:) :: pdefect

  ! number of the types of the external events
  integer :: n_ext
  ! type for external event
  type(ExternalEvent),pointer,dimension(:) :: extern_type

  ! dpa
  real(dbl) :: loop_dpa,loop_sdpa

  ! unit of the output
  integer :: out_unit

  ! Order of system unit which depends on the system dimension
  real(dbl) :: unit_conv_order
  real(dbl) :: sys_volume

  ! Seed for random sequence
  real(dbl) :: user_seed

  ! real(dbl) :: out_unit_conv,i_out_unit_conv

  ! <----Pre-calculated parameters----> !

  ! init_global_param/set_new_pos
  real(dbl) :: isqrt3

end module global_param
